小程序 VoIP 语音通话架构

Mini Program Real-time Voice Call System

小程序平台沙箱 (HTTPS/WSS) VoIP 服务集群 主叫小程序 WeChat Mini Program WebRTC Client 被叫小程序 WeChat Mini Program WebRTC Client 信令服务器 WebSocket Server Socket.IO / ws call setup STUN / TURN coturn / Pion NAT Traversal ICE candidate 媒体服务器 (SFU) mediasoup / Janus RTP Relay Mix RTP/SRTP VoIP 网关 PSTN / SIP Trunk 运营商中继 业务后端 Node.js / Go REST + gRPC call control PostgreSQL 通话记录 / 用户信息 :5432 Redis 会话状态 / ICE Token :6379 W: 呼叫信令 W: 振铃通知 gRPC ICE Negotiate STUN Binding relay RTP/SRTP Media Channel RTP/SRTP Media Channel SIP/RTP SQL session presence Legend Frontend Backend Cloud External Database

信令层

  • • WebSocket 双向全双工连接
  • • 呼叫建立/振铃/挂断信令流转
  • • Offer/Answer SDP 交换通道

媒体层

  • • P2P 路径优先, NAT 打洞 (STUN)
  • • 中继兜底通过 TURN/SFU
  • • SRTP 加密媒体流, Opus 编码

核心链路 (PSTN 出网)

  • • SFU ↔ VoIP 网关 SIP/RTP 互通
  • • 支持拨打固话 / 手机号
  • • 通话计费与运营商结算